package com.lhd.service;

import java.util.List;

import com.lhd.entity.query.CourseQuery;
import com.lhd.entity.po.Course;
import com.lhd.entity.vo.PaginationResultVO;

/**
 * @Author: liuhd
 * @Date: 2025/03/16
 * @Description: Course业务接口
 */
public interface CourseService {
	/**
	 * 根据条件查询列表
	 */
	List<Course> findListByQuery(CourseQuery query);

	/**
	 * 根据条件查询数量
	 */
	Long findCountByQuery(CourseQuery query);

	/**
	 * 分页查询
	 */
	PaginationResultVO<Course> findListByPage(CourseQuery query);

	/**
	 * 新增
	 */
	Long add(Course bean);

	/**
	 * 新增或更新
	 */
	Long addOrUpdate(Course bean);

	/**
	 * 批量新增
	 */
	Long addBatch(List<Course> listBean);

	/**
	 * 批量新增或修改
	 */
	Long addOrUpdateBatch(List<Course> listBean);

	/**
	 * 多条件更新
	 */
	Long updateByQuery(Course bean, CourseQuery query);

	/**
	 * 多条件删除
	 */
	Long deleteByQuery(CourseQuery query);

	/**
	 * 根据PRIMARY查询
	 */
	Course getCourseById(Integer id);

	/**
	 * 根据PRIMARY删除
	 */
	Long deleteCourseById(Integer id);

	/**
	 * 根据PRIMARY更新
	 */
	Long updateCourseById(Course bean, Integer id);

}